#ifndef _BUOLA_GL_CTEXTURESURFACE_H_
#define _BUOLA_GL_CTEXTURESURFACE_H_

#include <buola/gui.h>
#include <buola/image/csurface.h>
#include <buola/gl/ctexture.h>
#include <buola/image/canyimage.h>

namespace buola { namespace gl {

class CTextureSurface : public img::CSurface
{
public:
    CTextureSurface(const img::CAnyImage &pImage);
    virtual ~CTextureSurface();

public:
    int Depth();
    CSize_i SurfaceSize();
    void BitBlt(const CPoint_d&,const CSize_d&,img::CSurface*,const CPoint_d&,bool=false);

    img::CGC *GetGC(img::EGCCaps pCaps) {   return nullptr; }
    
    CTexture &Texture() {   return mTexture;    }

private:
    CSize_i mSize;

    CTexture mTexture;
};

/*namespace gl*/ } /*namespace buola*/ }

#endif
